package com.app.ryjy.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 数据来源枚举
 */
@AllArgsConstructor
@Getter
public enum DataSourceEnum {
    // 基础数据库系统
    BASE_DATABASE_SYSTEM("基础数据库系统", 00, -1),
    // 社保卡系统
    SOCIAL_SECURITY_CARD_SYSTEM("社保卡系统", 01, -1),
    // 社保系统
    SOCIAL_SECURITY_SYSTEM("社保系统", 02, -1),
    // 就业系统
    EMPLOYMENT_SYSTEM("就业系统", 03, -1),
    // 异地转办
    TRANSFER_FROM_OTHER_PLACES("异地转办", 04, -1),
    // 大中专毕业生实名制系统
    GRADUATE_REAL_NAME_SYSTEM("大中专毕业生实名制系统",8,-1),
    // 劳动用工备案系统
    LABOR_EMPLOYMENT_RECORD_SYSTEM("劳动用工备案系统", 9, -1),
    // 网上服务大厅
    ONLINE_SERVICE_HALL("网上服务大厅", 10, -1),
    // APP
    APP("APP", 11, -1),
    // 微信公众号
    WECHAT_OFFICIAL_ACCOUNT("微信公众号", 12, -1),
    // 第三方培训机构系统
    THIRD_PARTY_TRAINING_INSTITUTE_SYSTEM("第三方培训机构系统", 13, -1),
    // 就业一体机
    EMPLOYMENT_INTEGRATED_MACHINE("就业一体机", 14, -1),
    // 数据迁移
    DATA_MIGRATION("数据迁移", 15, -1),
    // 工商
    INDUSTRY_AND_COMMERCE("工商", 16, -1),
    // 扶贫移民局导入
    IMPORT_FROM_POVERTY_ALLEVIATION_AND_MIGRATION_BUREAU("扶贫移民局导入", 17, -1),
    // 政务一体化系统
    GOVERNMENT_INTEGRATED_SYSTEM("政务一体化系统", 18, -1),
    // 招聘摊位系统
    RECRUITMENT_BOOTH_SYSTEM("招聘摊位系统", 19, -1),
    // 教育部门移交
    TRANSFER_FROM_EDUCATION_DEPARTMENT("教育部门移交", 21, -1),
    // 智能终端系统
    INTELLIGENT_TERMINAL_SYSTEM("智能终端系统", 22, -1),
    // 流动人员人事档案党员系统
    PERSONNEL_ARCHIVE_PARTY_MEMBER_SYSTEM("流动人员人事档案党员系统", 23, -1),
    // 微信小程序
    WECHAT_MINI_PROGRAM("微信小程序", 24, -1),
    // 网站
    WEBSITE("网站", 25, -1),
    // 抖音小程序
    DOUYIN_MINI_PROGRAM("抖音小程序", 26, -1),
    // 总集基础库
    GENERAL_BASE_LIBRARY("总集基础库", 50, -1),
    // 大就业系统
    LARGE_EMPLOYMENT_SYSTEM("大就业系统", 51, -1),
    // 人才网系统
    TALENT_NETWORK_SYSTEM("人才网系统", 52, -1),
    // 张掖公共招聘网
    ZHANGYE_PUBLIC_RECRUITMENT_NETWORK("张掖公共招聘网", 53, -1),
    // 酒泉公共招聘网
    JIUQUAN_PUBLIC_RECRUITMENT_NETWORK("酒泉公共招聘网", 54, -1);

    private final String desc;
    private final int code;
    private final int bizCode;

    /**
     * 根据 bizCode 获取 code
     *
     * @param bizCode bizCode
     * @return code
     */
    public static int getCodeByBizCode(int bizCode) {
        for (DataSourceEnum status : values()) {
            if (status.getBizCode() == bizCode) {
                return status.getCode();
            }
        }
        throw new RuntimeException("bizCode 不存在");
    }

    public static void main(String[] args) {
        System.out.println(DataSourceEnum.getCodeByBizCode(-1));
    }
}